#ifndef __NONCOPYABLE_H__
#define __NONCOPYABLE_H__


class noncopyable
{
public:
    noncopyable() = default;
    noncopyable(const noncopyable &) = delete;
    noncopyable(const noncopyable &&) = delete;
    noncopyable &operator=(const noncopyable &) = delete;
    noncopyable &operator=(const noncopyable &&) = delete;
};

#endif // __NONCOPYABLE_H__